package com.shopx.config.service;

import com.shopx.cmm.DTO.PageDTO;
import com.shopx.base.exception.ShopxException;
import com.shopx.config.bean.SysConfig;
import com.shopx.config.model.SysConfigModel;

import java.util.List;

/**
 * @author lituo
 * @className: ISysConfigService
 * @description: TODO
 * @date 2021/12/5 10:42 AM
 */
public interface ISysConfigService {
  /**
   * 查询明细记录
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  SysConfigModel selectByPrimaryKey(SysConfig sysConfig) throws ShopxException;
  /**
   * 新增记录
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  int insertSelective(SysConfig sysConfig) throws ShopxException;

  /**
   * 修改记录
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  int updateByPrimaryKeySelective(SysConfig sysConfig) throws ShopxException;

  /**
   * 删除记录
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  int deleteByPrimaryKey(SysConfig sysConfig) throws ShopxException;

  /**
   * 查询总记录数
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  int selectCount(SysConfigModel sysConfig) throws ShopxException;

  /**
   * 查询列表
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfig
   * @return
   * @throws ShopxException
   */
  List<SysConfigModel> selectList(SysConfigModel sysConfig) throws ShopxException;

  /**
   * 分页查询
   * @author lituo
   * @date 11:42 AM 2021/12/5
   * @param sysConfigModel
   * @return
   * @throws ShopxException
   */
  PageDTO<SysConfigModel> getListPage(SysConfigModel sysConfigModel) throws ShopxException;

  /**
   * 验证用户是否为超级管理员
   * @return
   */
  boolean isSuperUser(String userId);

  void deleteBatch(List<SysConfig> list) throws ShopxException;

}
